1. Field of the Invention
The present invention relates to a technology for scheduling a parallel program that is executed as a batch job by a parallel computer.
2. Description of the Related Art
Conventionally, according to parallel computer systems that execute programs in parallel using plural central processing units (CPUs), the parallel computer system schedules batch jobs based on an idle state of each computer resource such as a CPU and a computer resource requested by each batch job, from among parallel program groups input by users in a batch job format.
FIG. 18 is an explanatory diagram of a batch job scheduling performed by a parallel computer system. As shown in FIG. 18, batch requests input by the users in a batch job format are stored in an execution queue. A batch scheduler 300 selects a batch request from the execution queue based on an idle state of a computer resource and a computer resource registered by each batch job, and gives a right of executing the selected batch.
Japanese Patent Application Laid-Open No. H8-016410 discloses a technique of scheduling jobs as follows. Jobs waiting for the execution and jobs in execution are managed based on plural queues of jobs. A queue to which each job belongs and a priority of each job within the queue are set based on an amount of the computer resource required by each job, and a waiting time, and the like. The jobs are scheduled by dynamically reviewing the queue to which each job belongs and the priority within the queue.
However, even when the priorities of the jobs are determined based on the amount of the computer resource required by each job, the waiting time, and the like, the parallel computers cannot be efficiently used unless parallelism of the parallel programs are efficiently utilized. In other words, unless the parallel programs efficiently use the parallel computers, the performance of the parallel computers cannot be fully exhibited.